package com.github.prontera.domain;

import java.math.BigDecimal;
import java.time.OffsetDateTime;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.github.prontera.model.BasicDomain;
import com.github.prontera.util.converter.jackson.OffsetDateToIso8601Serializer;

import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * 
 * u_client_sign-客户端签到
 *
 */
@ToString
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)
public class ClientSign extends BasicDomain{

	private static final long serialVersionUID = 1L;
    
	/**
	 * 
	 */
	@ApiModelProperty(value = "")
    private Long clientId;
	/**
	 * 
	 */
	@JsonSerialize(using = OffsetDateToIso8601Serializer.class)
	@ApiModelProperty(value = "")
    private OffsetDateTime signDate;
	/**
	 * 本次签到获得得唐豆豆
	 */
	@ApiModelProperty(value = "本次签到获得得唐豆豆")
    private Integer incomeBean;
	/**
	 * 计算获取唐豆豆区间(字典ID)
	 */
	@ApiModelProperty(value = "计算获取唐豆豆区间(字典ID)")
    private Long minRateIntervalId;
	/**
	 * 资产总额
	 */
	@ApiModelProperty(value = "资产总额")
    private BigDecimal baseAmount;
	/**
	 * 计算获取唐豆豆区间
	 */
	@ApiModelProperty(value = "计算获取唐豆豆区间")
    private Double rateInterval;
	/**
	 * 
	 */
	@ApiModelProperty(value = "")
    private Long maxRateIntervalId;
	/**
	 * 
	 */
	@ApiModelProperty(value = "")
    private BigDecimal minRateAmount;
	/**
	 * 
	 */
	@ApiModelProperty(value = "")
    private BigDecimal maxRateAmount;
	/**
	 * 明天签到获得得唐豆豆
	 */
	@ApiModelProperty(value = "明天签到获得得唐豆豆")
    private Integer nextDayIncomeBean;
	/**
	 * 资产总额
	 */
	@ApiModelProperty(value = "资产总额")
    private BigDecimal calBaseAmount;
	
	private Client client;
	
    public ClientSign(){
    
    }
    
    public BigDecimal getCalBaseAmount() {
		return calBaseAmount;
	}

	public void setCalBaseAmount(BigDecimal calBaseAmount) {
		this.calBaseAmount = calBaseAmount;
	}

	public Integer getNextDayIncomeBean() {
		return nextDayIncomeBean;
	}

	public void setNextDayIncomeBean(Integer nextDayIncomeBean) {
		this.nextDayIncomeBean = nextDayIncomeBean;
	}

	public Client getClient() {
		return client;
	}

	public void setClient(Client client) {
		this.client = client;
	}

	public Long getClientId() {
        return this.clientId;
    }
    
    public void setClientId(Long clientId) {
        this.clientId = clientId;
    }
    public OffsetDateTime getSignDate() {
        return this.signDate;
    }
    
    public void setSignDate(OffsetDateTime signDate) {
        this.signDate = signDate;
    }
    public Integer getIncomeBean() {
        return this.incomeBean;
    }
    
    public void setIncomeBean(Integer incomeBean) {
        this.incomeBean = incomeBean;
    }
    public Long getMinRateIntervalId() {
        return this.minRateIntervalId;
    }
    
    public void setMinRateIntervalId(Long minRateIntervalId) {
        this.minRateIntervalId = minRateIntervalId;
    }
    public BigDecimal getBaseAmount() {
        return this.baseAmount;
    }
    
    public void setBaseAmount(BigDecimal baseAmount) {
        this.baseAmount = baseAmount;
    }
    public Double getRateInterval() {
        return this.rateInterval;
    }
    
    public void setRateInterval(Double rateInterval) {
        this.rateInterval = rateInterval;
    }
    public Long getMaxRateIntervalId() {
        return this.maxRateIntervalId;
    }
    
    public void setMaxRateIntervalId(Long maxRateIntervalId) {
        this.maxRateIntervalId = maxRateIntervalId;
    }
    public BigDecimal getMinRateAmount() {
        return this.minRateAmount;
    }
    
    public void setMinRateAmount(BigDecimal minRateAmount) {
        this.minRateAmount = minRateAmount;
    }
    public BigDecimal getMaxRateAmount() {
        return this.maxRateAmount;
    }
    
    public void setMaxRateAmount(BigDecimal maxRateAmount) {
        this.maxRateAmount = maxRateAmount;
    }
    
}
